package com.chushouya.common.support;

import lombok.Data;

import java.util.Map;
import java.util.Set;

/**
 * 用户上下文
 * @author chushouya team
 */
@Data
public class RequestUserContext {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户类型
     */
    private Integer userType;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 回收商ID
     */
    private Long merchantId;

    /**
     * 门店ID
     */
    private Long storeId;

    /**
     * 业务员ID
     */
    private Long clerkId;


    /**
     * 合作商ID
     */
    private Long partnerId;

    /**
     * 权限列表
     */
    private Set<String> permissions;

    /**
     * 角色列表
     */
    private Set<String> roles;

    /**
     * 扩展信息
     */
    private Map<String, Object> extend;

    /**
     * 获取扩展信息
     */
    public <T> T getExtendParam(final String key) {
        if (this.extend == null) {
            return null;
        }
        return (T) this.extend.get(key);
    }

}
